\documentclass[a4paper,10pt]{report}\input{../0.Préambule/Préambule_cours_prof}\input{0_Préambule_Repré1}\begin{document}

\newpage
\setcounter{chapter}{3}
\chapter{Les bases de numération}

Une quantité d'objets est représentée par un nombre.

A l'origine de l'humanité chaque quantité était représentée par un nombre équivalent de cailloux (calculus) de bâtons ou de points …

L'homme, utilisant ses dix doigts (digit) pour compter, est venue la numération en base 10 ou numération décimale. On utilise aussi de manière épisodique la base 12 (les douzaines) la base soixante (heures, minutes et secondes). Les informaticiens utilisent les bases \textbf{2}, \textbf{16} et \textbf{8}.

\section{La numération de position : le système décimal}

\begin{dft}
Nous utilisons dans la vie courante le système décimal, où on peut écrire n'importe quel nombre entier comme une succession de chiffres dont chacun est pris dans l'ensemble des dix chiffres :
$${0; 1; 2; 3; 4; 5; 6; 7; 8; 9}$$
\end{dft}

\begin{ex}
Le nombre $2329$ est formé de quatre chiffres.

\noindent L'écriture $2329$ exprime un entier naturel formé de $2$ milliers, $3$ centaines, $2$ dizaines et $9$ unités.

\noindent Ou encore $2329 = 2 \times 10^3 + 3 \times 10^2 + 2 \times 10^1 + 9 \times 10^0$.

\noindent Cette représentation à l'aide de puissances successives de $10$ s'appelle une écriture du nombre $a$ en base $10$ (base décimale).
\end{ex}

\begin{dft}
Soit $p$ un nombre entier. L'écriture d'un nombre en base $p$ : ($a_n$ $\dots$ $a_2$,$a_1$,$a_0$)$p$ où $a_0$, $a_1$, $a_2$,$\dots$,$a_n$ sont des nombres entiers compris entre $0$ et $p – 1$ se traduit par la relation algébrique suivante :
$$(a_n \dots a_2a_1a_0)_p = a_n \times p^n + \dots + a_2 \times p^2 + a_1 \times p^1+ a_0 \times p^0$$
\end{dft}

\begin{ex}
\medskip
$(58623)_{10}$ = \dotfill

\medskip
\noindent $(1230)_4$ =\dotfill

\medskip
\noindent $(40312)_5$ =\dotfill

\medskip
\noindent $(212)_3$ = \dotfill
\end{ex}

\section{La numération binaire}

\begin{dft}
On reprend la formule précédente avec $p = 2$.
Il n'y a donc que deux chiffres qui sont $0$ et $1$.
La numération en base $2$ est le système le plus adapté aux machines électroniques : les deux symboles $1$ et $0$ correspondent à deux états, le courant passe ou ne passe pas.
La représentation d'un nombre en base $2$ suit le même principe qu'en base $10$.
\end{dft}

\begin{meth}[Conversion de l'écriture binaire à l'écriture décimale]

On utilise le tableau des puissances de $2$ (si on ne le connais pas encore par cœur !)
\begin{center}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|p{1cm}|}
\hline
$2^7$&$2^6$&$2^5$&$2^4$&$2^3$&$2^2$&$2^1$&$2^0$\\\hline
$128$&$64$&$32$&$16$&$8$&$4$&$2$&$1$\\\hline
\end{tabular}
\end{center}

\medskip
$(1101)_2 = 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 13_{10}$
\end{meth}

\begin{exer1}
Donner la représentation en écriture décimale des nombres suivants 
\begin{enumerate}[font=\color{exer1}]
\medskip
\item $(10001)_2$ = \dotfill

\medskip
\item $(1011 1001)_2$ = \dotfill

\medskip
\item $(11010011100)_2$ = \dotfill
\end{enumerate}
\end{exer1}

\begin{exer2}
Montrer qu'avec un mot de $n$ bits, on peut représenter les nombres de $0$ à $2n – 1$.
\end{exer2}

\begin{meth}[Conversion de l'écriture décimale à l'écriture binaire]
On fait une succession de division par $2$ jusqu'à obtenir un quotient égal à $0$.

\noindent Testons avec $29_{10}$ :

$29 = 14 \times 2 + \textcolor{green}{1}$

$14 = 7 \times 2 + \textcolor{blue}{0}$

$7 = 3\times 2 + \textcolor{gray}{1}$

$3 = 1 \times 2 + \textcolor{orange}{1}$

$1 = 0\times 2 + \textcolor{purple}{1}$

\noindent Donc $29_{10} = \textcolor{red}{1}\textcolor{orange}{1}\textcolor{gray}{1}\textcolor{blue}{0}\textcolor{green}{1}_2$
\end{meth}

\begin{exer1}
Trouver la représentation en base 2 des nombres :$111_{10}$ ; $942_{10}$; $7523_{10}$
\end{exer1}

\section{Opérations en binaire}

\subsection{L'addition}

L'addition se pratique de la même façon que dans le calcul décimal usuel, \\et repose sur la table d'addition suivante :

\vspace{-1.5cm}
\begin{flushright}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{|c|c|c|}
\hline
\rowcolor{titlecolor!20} + & $0$ & $1$ \\\hline
\cellcolor{titlecolor!20}$0$ & $0$ & $1$ \\\hline
\cellcolor{titlecolor!20}$1$ & $1$ & $10$ \\\hline
\end{tabular}
\end{flushright}

\vspace{-0.5cm}
\begin{ex}
\begin{center}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{ccccccc}
&&1&0&1&0&1\\
+&&&1&1&1&0\\\hline
&&&&&&\\
\end{tabular}
\end{center}
\end{ex}

\subsection{Multiplication}

La multiplication se pratique de la même façon que dans le calcul décimal usuel, \\et repose sur la table de multiplication suivante :

\vspace{-1.5cm}
\begin{flushright}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{|c|c|c|}
\hline
\rowcolor{titlecolor!20} $\times$ & $0$ & $1$ \\\hline
\cellcolor{titlecolor!20} $0$ & $0$ & $0$ \\\hline
\cellcolor{titlecolor!20} $1$ & $0$ & $1$ \\\hline
\end{tabular}
\end{flushright}

\vspace{-0.5cm}
\begin{ex}
\begin{center}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{ccccccccc}
&&1&0&1&0&1&1&0\\
$\times$&&&&&&1&0&1\\\hline
&&&&&&&&\\
\end{tabular}
\end{center}
\end{ex}
\vspace{1cm}

\section{La numération Hexadécimal}

L'utilisation par l'homme du système binaire est particulièrement délicate (risque d'erreurs) la conversion systématique en décimale est lourde.
Les informaticiens utilisent le système Hexadécimal (base 16). Nous allons voir qu'il est relativement simple et surtout que le passage de la base 2 à la base 16 est très simple.

\begin{dft}
Le système hexadécimal est comme le binaire et le décimal un système de numération de position pondéré. Il nécessite $16$ symboles :
$${ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }$$
Où $A_{16} = 10_{10}$ ; $B_{16} = 11_{10}$ ; $C_{16} = 12_{10}$ ; $D_{16} = 13_{10}$ ; $E_{16} = 14_{10}$ ; $F_{16} = 15_{10}$.
\end{dft}

\begin{meth}[Conversion de l'écriture hexadécimale à l'écriture décimale]
Le nombre $B2_{16} = 11 \times 16^1 + 2 \times 16^0 = 178_{10}$.

\noindent Pour s'entrainer, donner l'écriture décimale des nombres suivants :

\medskip
$1B2F_{16}$ = \dotfill

\medskip
$231_{16}$ = \dotfill
\end{meth}

\begin{meth}[Conversion de l'écriture décimale à l'écriture Hexadécimale]
Comme dans le cas d'une écriture binaire, on fait une succession de division non plus par $2$ mais par $16$ jusqu'à obtenir un quotient égal à $0$.

\noindent Convertissons $5567_{10}$ en hexadécimal :
$5567 = 347 \times 16  + 15$

$347 = 21\times 16 +11$

$21 = 1 \times 16 + 5$

$1 = 0 \times 16 + 1$
\noindent Donc $5567_{10} =  15BE_{16}$
\end{meth}

\noindent Tableau de conversion Décimale Binaire Hexadécimal
\begin{center}
\renewcommand{\arraystretch}{1.3}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
\hline
\cellcolor{titlecolor!20}Décimale &~~0~~&~~1~~&~~2~~&~~3~~&~~4~~&~~5~~&~~6~~&~~7~~&~~8~~&~~9~~&~~10~~&~~11~~&~~12~~&~~13~~&~~14~~&~~15~~\\\hline
\cellcolor{titlecolor!20}Binaire &&&&&&&&&&&&&&&&\\\hline
\cellcolor{titlecolor!20}Hexadécimal &&&&&&&&&&&&&&&&\\\hline
\end{tabular}
\end{center}

\begin{meth}[La conversion hexadécimal/binaire]
La conversion de l'hexadécimal vers le binaire et, inversement, la conversion du binaire vers l'hexadécimal, se font \textbf{directement} (c'est-à-dire sans passer par le code décimal) et très rapidement.

Pour convertir $A19D_{16}$ en binaire, il suffit simplement de remplacer chaque chiffre hexadécimal par son écriture en binaire (sur quatre bits chacun) :
$$A19D_{16} = 1010 0001 1001 1101$$

Pour convertir $101101110010100$ en hexadécimal, il suffit de grouper les bits quatre par quatre (à partir de la droite, et en ajoutant éventuellement des $0$ à gauche) puis de traduire chaque groupe de quatre bits en hexadécimal :
$$1011 0111 0010 100_2 = 0101 1011 1001 0100 = 5B94_{16}$$
Pour convertir $1011 0111 0010 100$ en décimal, on gagne du temps en passant par l'hexadécimal en écrivant que
$$1011 0111 0010 100_2 = 5B94_{16} = 5\times 16^3 + 11\times 16^2 + 9\times 16^1 + 4 \times 16^0 = 23444_{10}$$
\end{meth}

\begin{exer1}
Donner l'écriture hexadécimale des nombres suivants : $145236_{10}$ ; $253_{10}$ ; $11010111_{10}$ ;$11010111_2$ ; $1100110001110_2$
\end{exer1}

\begin{exer1}
Donner l'écriture binaire des nombres suivants : $7B_{16}$ ; $C7D3_{16}$ ; $1234_{10}$ ; $1234_{16}$
\end{exer1}

\begin{exer2}
Poser et effectuer les opérations suivantes :
\begin{enumerate}[font=\color{exer2}]
\begin{tabular}{p{8cm}p{8cm}}
\item $1010 + 11$ & \item $1010 \times 11$\\
\item $11011 + 1101$ & \item $11011 \times 1101$\\
\item $100111001 + 1001111$ & \item $100111001 \times 1001111$\\
\end{tabular}
\end{enumerate}
\end{exer2}

\begin{exer2}
Donner une écriture décimale des nombres suivants : $1234_5$ ; $54701_8$ ; $120122_3$
\end{exer2}

\end{document}